from enum import IntEnum
from typing import overload, NewType, Optional, Tuple

from OCC.Core.Standard import *
from OCC.Core.NCollection import *
from OCC.Core.StepRepr import *
from OCC.Core.TCollection import *
from OCC.Core.StepData import *
from OCC.Core.StepBasic import *
from OCC.Core.StepShape import *


class StepDimTol_Array1OfDatumReference:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def __getitem__(self, index: int) -> False: ...
    def __setitem__(self, index: int, value: False) -> None: ...
    def __len__(self) -> int: ...
    def __iter__(self) -> Iterator[False]: ...
    def next(self) -> False: ...
    __next__ = next
    def Init(self, theValue: False) -> None: ...
    def Size(self) -> int: ...
    def Length(self) -> int: ...
    def IsEmpty(self) -> bool: ...
    def Lower(self) -> int: ...
    def Upper(self) -> int: ...
    def IsDetectable(self) -> bool: ...
    def IsAllocated(self) -> bool: ...
    def First(self) -> False: ...
    def Last(self) -> False: ...
    def Value(self, theIndex: int) -> False: ...
    def SetValue(self, theIndex: int, theValue: False) -> None: ...

class StepDimTol_Array1OfDatumReferenceCompartment:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def __getitem__(self, index: int) -> False: ...
    def __setitem__(self, index: int, value: False) -> None: ...
    def __len__(self) -> int: ...
    def __iter__(self) -> Iterator[False]: ...
    def next(self) -> False: ...
    __next__ = next
    def Init(self, theValue: False) -> None: ...
    def Size(self) -> int: ...
    def Length(self) -> int: ...
    def IsEmpty(self) -> bool: ...
    def Lower(self) -> int: ...
    def Upper(self) -> int: ...
    def IsDetectable(self) -> bool: ...
    def IsAllocated(self) -> bool: ...
    def First(self) -> False: ...
    def Last(self) -> False: ...
    def Value(self, theIndex: int) -> False: ...
    def SetValue(self, theIndex: int, theValue: False) -> None: ...

class StepDimTol_Array1OfDatumReferenceElement:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def __getitem__(self, index: int) -> False: ...
    def __setitem__(self, index: int, value: False) -> None: ...
    def __len__(self) -> int: ...
    def __iter__(self) -> Iterator[False]: ...
    def next(self) -> False: ...
    __next__ = next
    def Init(self, theValue: False) -> None: ...
    def Size(self) -> int: ...
    def Length(self) -> int: ...
    def IsEmpty(self) -> bool: ...
    def Lower(self) -> int: ...
    def Upper(self) -> int: ...
    def IsDetectable(self) -> bool: ...
    def IsAllocated(self) -> bool: ...
    def First(self) -> False: ...
    def Last(self) -> False: ...
    def Value(self, theIndex: int) -> False: ...
    def SetValue(self, theIndex: int, theValue: False) -> None: ...

class StepDimTol_Array1OfDatumReferenceModifier:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def __getitem__(self, index: int) -> StepDimTol_DatumReferenceModifier: ...
    def __setitem__(self, index: int, value: StepDimTol_DatumReferenceModifier) -> None: ...
    def __len__(self) -> int: ...
    def __iter__(self) -> Iterator[StepDimTol_DatumReferenceModifier]: ...
    def next(self) -> StepDimTol_DatumReferenceModifier: ...
    __next__ = next
    def Init(self, theValue: StepDimTol_DatumReferenceModifier) -> None: ...
    def Size(self) -> int: ...
    def Length(self) -> int: ...
    def IsEmpty(self) -> bool: ...
    def Lower(self) -> int: ...
    def Upper(self) -> int: ...
    def IsDetectable(self) -> bool: ...
    def IsAllocated(self) -> bool: ...
    def First(self) -> StepDimTol_DatumReferenceModifier: ...
    def Last(self) -> StepDimTol_DatumReferenceModifier: ...
    def Value(self, theIndex: int) -> StepDimTol_DatumReferenceModifier: ...
    def SetValue(self, theIndex: int, theValue: StepDimTol_DatumReferenceModifier) -> None: ...

class StepDimTol_Array1OfDatumSystemOrReference:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def __getitem__(self, index: int) -> StepDimTol_DatumSystemOrReference: ...
    def __setitem__(self, index: int, value: StepDimTol_DatumSystemOrReference) -> None: ...
    def __len__(self) -> int: ...
    def __iter__(self) -> Iterator[StepDimTol_DatumSystemOrReference]: ...
    def next(self) -> StepDimTol_DatumSystemOrReference: ...
    __next__ = next
    def Init(self, theValue: StepDimTol_DatumSystemOrReference) -> None: ...
    def Size(self) -> int: ...
    def Length(self) -> int: ...
    def IsEmpty(self) -> bool: ...
    def Lower(self) -> int: ...
    def Upper(self) -> int: ...
    def IsDetectable(self) -> bool: ...
    def IsAllocated(self) -> bool: ...
    def First(self) -> StepDimTol_DatumSystemOrReference: ...
    def Last(self) -> StepDimTol_DatumSystemOrReference: ...
    def Value(self, theIndex: int) -> StepDimTol_DatumSystemOrReference: ...
    def SetValue(self, theIndex: int, theValue: StepDimTol_DatumSystemOrReference) -> None: ...

class StepDimTol_Array1OfToleranceZoneTarget:
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def __getitem__(self, index: int) -> StepDimTol_ToleranceZoneTarget: ...
    def __setitem__(self, index: int, value: StepDimTol_ToleranceZoneTarget) -> None: ...
    def __len__(self) -> int: ...
    def __iter__(self) -> Iterator[StepDimTol_ToleranceZoneTarget]: ...
    def next(self) -> StepDimTol_ToleranceZoneTarget: ...
    __next__ = next
    def Init(self, theValue: StepDimTol_ToleranceZoneTarget) -> None: ...
    def Size(self) -> int: ...
    def Length(self) -> int: ...
    def IsEmpty(self) -> bool: ...
    def Lower(self) -> int: ...
    def Upper(self) -> int: ...
    def IsDetectable(self) -> bool: ...
    def IsAllocated(self) -> bool: ...
    def First(self) -> StepDimTol_ToleranceZoneTarget: ...
    def Last(self) -> StepDimTol_ToleranceZoneTarget: ...
    def Value(self, theIndex: int) -> StepDimTol_ToleranceZoneTarget: ...
    def SetValue(self, theIndex: int, theValue: StepDimTol_ToleranceZoneTarget) -> None: ...

class StepDimTol_AreaUnitType(IntEnum):
    StepDimTol_Circular: int = ...
    StepDimTol_Rectangular: int = ...
    StepDimTol_Square: int = ...

StepDimTol_Circular = StepDimTol_AreaUnitType.StepDimTol_Circular
StepDimTol_Rectangular = StepDimTol_AreaUnitType.StepDimTol_Rectangular
StepDimTol_Square = StepDimTol_AreaUnitType.StepDimTol_Square

class StepDimTol_DatumReferenceModifierType(IntEnum):
    StepDimTol_CircularOrCylindrical: int = ...
    StepDimTol_Distance: int = ...
    StepDimTol_Projected: int = ...
    StepDimTol_Spherical: int = ...

StepDimTol_CircularOrCylindrical = StepDimTol_DatumReferenceModifierType.StepDimTol_CircularOrCylindrical
StepDimTol_Distance = StepDimTol_DatumReferenceModifierType.StepDimTol_Distance
StepDimTol_Projected = StepDimTol_DatumReferenceModifierType.StepDimTol_Projected
StepDimTol_Spherical = StepDimTol_DatumReferenceModifierType.StepDimTol_Spherical

class StepDimTol_GeometricToleranceModifier(IntEnum):
    StepDimTol_GTMAnyCrossSection: int = ...
    StepDimTol_GTMCommonZone: int = ...
    StepDimTol_GTMEachRadialElement: int = ...
    StepDimTol_GTMFreeState: int = ...
    StepDimTol_GTMLeastMaterialRequirement: int = ...
    StepDimTol_GTMLineElement: int = ...
    StepDimTol_GTMMajorDiameter: int = ...
    StepDimTol_GTMMaximumMaterialRequirement: int = ...
    StepDimTol_GTMMinorDiameter: int = ...
    StepDimTol_GTMNotConvex: int = ...
    StepDimTol_GTMPitchDiameter: int = ...
    StepDimTol_GTMReciprocityRequirement: int = ...
    StepDimTol_GTMSeparateRequirement: int = ...
    StepDimTol_GTMStatisticalTolerance: int = ...
    StepDimTol_GTMTangentPlane: int = ...

StepDimTol_GTMAnyCrossSection = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMAnyCrossSection
StepDimTol_GTMCommonZone = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMCommonZone
StepDimTol_GTMEachRadialElement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMEachRadialElement
StepDimTol_GTMFreeState = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMFreeState
StepDimTol_GTMLeastMaterialRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMLeastMaterialRequirement
StepDimTol_GTMLineElement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMLineElement
StepDimTol_GTMMajorDiameter = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMMajorDiameter
StepDimTol_GTMMaximumMaterialRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMMaximumMaterialRequirement
StepDimTol_GTMMinorDiameter = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMMinorDiameter
StepDimTol_GTMNotConvex = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMNotConvex
StepDimTol_GTMPitchDiameter = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMPitchDiameter
StepDimTol_GTMReciprocityRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMReciprocityRequirement
StepDimTol_GTMSeparateRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMSeparateRequirement
StepDimTol_GTMStatisticalTolerance = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMStatisticalTolerance
StepDimTol_GTMTangentPlane = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMTangentPlane

class StepDimTol_GeometricToleranceType(IntEnum):
    StepDimTol_GTTAngularityTolerance: int = ...
    StepDimTol_GTTCircularRunoutTolerance: int = ...
    StepDimTol_GTTCoaxialityTolerance: int = ...
    StepDimTol_GTTConcentricityTolerance: int = ...
    StepDimTol_GTTCylindricityTolerance: int = ...
    StepDimTol_GTTFlatnessTolerance: int = ...
    StepDimTol_GTTLineProfileTolerance: int = ...
    StepDimTol_GTTParallelismTolerance: int = ...
    StepDimTol_GTTPerpendicularityTolerance: int = ...
    StepDimTol_GTTPositionTolerance: int = ...
    StepDimTol_GTTRoundnessTolerance: int = ...
    StepDimTol_GTTStraightnessTolerance: int = ...
    StepDimTol_GTTSurfaceProfileTolerance: int = ...
    StepDimTol_GTTSymmetryTolerance: int = ...
    StepDimTol_GTTTotalRunoutTolerance: int = ...

StepDimTol_GTTAngularityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTAngularityTolerance
StepDimTol_GTTCircularRunoutTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTCircularRunoutTolerance
StepDimTol_GTTCoaxialityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTCoaxialityTolerance
StepDimTol_GTTConcentricityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTConcentricityTolerance
StepDimTol_GTTCylindricityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTCylindricityTolerance
StepDimTol_GTTFlatnessTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTFlatnessTolerance
StepDimTol_GTTLineProfileTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTLineProfileTolerance
StepDimTol_GTTParallelismTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTParallelismTolerance
StepDimTol_GTTPerpendicularityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTPerpendicularityTolerance
StepDimTol_GTTPositionTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTPositionTolerance
StepDimTol_GTTRoundnessTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTRoundnessTolerance
StepDimTol_GTTStraightnessTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTStraightnessTolerance
StepDimTol_GTTSurfaceProfileTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTSurfaceProfileTolerance
StepDimTol_GTTSymmetryTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTSymmetryTolerance
StepDimTol_GTTTotalRunoutTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTTotalRunoutTolerance

class StepDimTol_LimitCondition(IntEnum):
    StepDimTol_MaximumMaterialCondition: int = ...
    StepDimTol_LeastMaterialCondition: int = ...
    StepDimTol_RegardlessOfFeatureSize: int = ...

StepDimTol_MaximumMaterialCondition = StepDimTol_LimitCondition.StepDimTol_MaximumMaterialCondition
StepDimTol_LeastMaterialCondition = StepDimTol_LimitCondition.StepDimTol_LeastMaterialCondition
StepDimTol_RegardlessOfFeatureSize = StepDimTol_LimitCondition.StepDimTol_RegardlessOfFeatureSize

class StepDimTol_SimpleDatumReferenceModifier(IntEnum):
    StepDimTol_SDRMAnyCrossSection: int = ...
    StepDimTol_SDRMAnyLongitudinalSection: int = ...
    StepDimTol_SDRMBasic: int = ...
    StepDimTol_SDRMContactingFeature: int = ...
    StepDimTol_SDRMDegreeOfFreedomConstraintU: int = ...
    StepDimTol_SDRMDegreeOfFreedomConstraintV: int = ...
    StepDimTol_SDRMDegreeOfFreedomConstraintW: int = ...
    StepDimTol_SDRMDegreeOfFreedomConstraintX: int = ...
    StepDimTol_SDRMDegreeOfFreedomConstraintY: int = ...
    StepDimTol_SDRMDegreeOfFreedomConstraintZ: int = ...
    StepDimTol_SDRMDistanceVariable: int = ...
    StepDimTol_SDRMFreeState: int = ...
    StepDimTol_SDRMLeastMaterialRequirement: int = ...
    StepDimTol_SDRMLine: int = ...
    StepDimTol_SDRMMajorDiameter: int = ...
    StepDimTol_SDRMMaximumMaterialRequirement: int = ...
    StepDimTol_SDRMMinorDiameter: int = ...
    StepDimTol_SDRMOrientation: int = ...
    StepDimTol_SDRMPitchDiameter: int = ...
    StepDimTol_SDRMPlane: int = ...
    StepDimTol_SDRMPoint: int = ...
    StepDimTol_SDRMTranslation: int = ...

StepDimTol_SDRMAnyCrossSection = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMAnyCrossSection
StepDimTol_SDRMAnyLongitudinalSection = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMAnyLongitudinalSection
StepDimTol_SDRMBasic = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMBasic
StepDimTol_SDRMContactingFeature = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMContactingFeature
StepDimTol_SDRMDegreeOfFreedomConstraintU = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintU
StepDimTol_SDRMDegreeOfFreedomConstraintV = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintV
StepDimTol_SDRMDegreeOfFreedomConstraintW = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintW
StepDimTol_SDRMDegreeOfFreedomConstraintX = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintX
StepDimTol_SDRMDegreeOfFreedomConstraintY = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintY
StepDimTol_SDRMDegreeOfFreedomConstraintZ = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintZ
StepDimTol_SDRMDistanceVariable = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDistanceVariable
StepDimTol_SDRMFreeState = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMFreeState
StepDimTol_SDRMLeastMaterialRequirement = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMLeastMaterialRequirement
StepDimTol_SDRMLine = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMLine
StepDimTol_SDRMMajorDiameter = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMMajorDiameter
StepDimTol_SDRMMaximumMaterialRequirement = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMMaximumMaterialRequirement
StepDimTol_SDRMMinorDiameter = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMMinorDiameter
StepDimTol_SDRMOrientation = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMOrientation
StepDimTol_SDRMPitchDiameter = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMPitchDiameter
StepDimTol_SDRMPlane = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMPlane
StepDimTol_SDRMPoint = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMPoint
StepDimTol_SDRMTranslation = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMTranslation

class StepDimTol_CommonDatum(StepRepr_CompositeShapeAspect):
    def __init__(self) -> None: ...
    def Datum(self) -> StepDimTol_Datum: ...
    def Init(self, theShapeAspect_Name: TCollection_HAsciiString, theShapeAspect_Description: TCollection_HAsciiString, theShapeAspect_OfShape: StepRepr_ProductDefinitionShape, theShapeAspect_ProductDefinitional: StepData_Logical, theDatum_Name: TCollection_HAsciiString, theDatum_Description: TCollection_HAsciiString, theDatum_OfShape: StepRepr_ProductDefinitionShape, theDatum_ProductDefinitional: StepData_Logical, theDatum_Identification: TCollection_HAsciiString) -> None: ...
    def SetDatum(self, theDatum: StepDimTol_Datum) -> None: ...

class StepDimTol_Datum(StepRepr_ShapeAspect):
    def __init__(self) -> None: ...
    def Identification(self) -> TCollection_HAsciiString: ...
    def Init(self, theShapeAspect_Name: TCollection_HAsciiString, theShapeAspect_Description: TCollection_HAsciiString, theShapeAspect_OfShape: StepRepr_ProductDefinitionShape, theShapeAspect_ProductDefinitional: StepData_Logical, theIdentification: TCollection_HAsciiString) -> None: ...
    def SetIdentification(self, theIdentification: TCollection_HAsciiString) -> None: ...

class StepDimTol_DatumFeature(StepRepr_ShapeAspect):
    def __init__(self) -> None: ...

class StepDimTol_DatumOrCommonDatum(StepData_SelectType):
    def __init__(self) -> None: ...
    def CaseNum(self, ent: Standard_Transient) -> int: ...
    def CommonDatumList(self) -> StepDimTol_HArray1OfDatumReferenceElement: ...
    def Datum(self) -> StepDimTol_Datum: ...

class StepDimTol_DatumReference(Standard_Transient):
    def __init__(self) -> None: ...
    def Init(self, thePrecedence: int, theReferencedDatum: StepDimTol_Datum) -> None: ...
    def Precedence(self) -> int: ...
    def ReferencedDatum(self) -> StepDimTol_Datum: ...
    def SetPrecedence(self, thePrecedence: int) -> None: ...
    def SetReferencedDatum(self, theReferencedDatum: StepDimTol_Datum) -> None: ...

class StepDimTol_DatumReferenceModifier(StepData_SelectType):
    def __init__(self) -> None: ...
    def CaseNum(self, ent: Standard_Transient) -> int: ...
    def DatumReferenceModifierWithValue(self) -> StepDimTol_DatumReferenceModifierWithValue: ...
    def SimpleDatumReferenceModifierMember(self) -> StepDimTol_SimpleDatumReferenceModifierMember: ...

class StepDimTol_DatumReferenceModifierWithValue(Standard_Transient):
    def __init__(self) -> None: ...
    def Init(self, theModifierType: StepDimTol_DatumReferenceModifierType, theModifierValue: StepBasic_LengthMeasureWithUnit) -> None: ...
    def ModifierType(self) -> StepDimTol_DatumReferenceModifierType: ...
    def ModifierValue(self) -> StepBasic_LengthMeasureWithUnit: ...
    def SetModifierType(self, theModifierType: StepDimTol_DatumReferenceModifierType) -> None: ...
    def SetModifierValue(self, theModifierValue: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_DatumSystem(StepRepr_ShapeAspect):
    def __init__(self) -> None: ...
    def Constituents(self) -> StepDimTol_HArray1OfDatumReferenceCompartment: ...
    @overload
    def ConstituentsValue(self, num: int) -> StepDimTol_DatumReferenceCompartment: ...
    @overload
    def ConstituentsValue(self, num: int, theItem: StepDimTol_DatumReferenceCompartment) -> None: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theOfShape: StepRepr_ProductDefinitionShape, theProductDefinitional: StepData_Logical, theConstituents: StepDimTol_HArray1OfDatumReferenceCompartment) -> None: ...
    def NbConstituents(self) -> int: ...
    def SetConstituents(self, theConstituents: StepDimTol_HArray1OfDatumReferenceCompartment) -> None: ...

class StepDimTol_DatumSystemOrReference(StepData_SelectType):
    def __init__(self) -> None: ...
    def CaseNum(self, ent: Standard_Transient) -> int: ...
    def DatumReference(self) -> StepDimTol_DatumReference: ...
    def DatumSystem(self) -> StepDimTol_DatumSystem: ...

class StepDimTol_DatumTarget(StepRepr_ShapeAspect):
    def __init__(self) -> None: ...
    def Init(self, theShapeAspect_Name: TCollection_HAsciiString, theShapeAspect_Description: TCollection_HAsciiString, theShapeAspect_OfShape: StepRepr_ProductDefinitionShape, theShapeAspect_ProductDefinitional: StepData_Logical, theTargetId: TCollection_HAsciiString) -> None: ...
    def SetTargetId(self, theTargetId: TCollection_HAsciiString) -> None: ...
    def TargetId(self) -> TCollection_HAsciiString: ...

class StepDimTol_GeneralDatumReference(StepRepr_ShapeAspect):
    def __init__(self) -> None: ...
    def Base(self) -> StepDimTol_DatumOrCommonDatum: ...
    def HasModifiers(self) -> bool: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theOfShape: StepRepr_ProductDefinitionShape, theProductDefinitional: StepData_Logical, theBase: StepDimTol_DatumOrCommonDatum, theHasModifiers: bool, theModifiers: StepDimTol_HArray1OfDatumReferenceModifier) -> None: ...
    def Modifiers(self) -> StepDimTol_HArray1OfDatumReferenceModifier: ...
    @overload
    def ModifiersValue(self, theNum: int) -> StepDimTol_DatumReferenceModifier: ...
    @overload
    def ModifiersValue(self, theNum: int, theItem: StepDimTol_DatumReferenceModifier) -> None: ...
    def NbModifiers(self) -> int: ...
    def SetBase(self, theBase: StepDimTol_DatumOrCommonDatum) -> None: ...
    def SetModifiers(self, theModifiers: StepDimTol_HArray1OfDatumReferenceModifier) -> None: ...

class StepDimTol_GeometricTolerance(Standard_Transient):
    def __init__(self) -> None: ...
    def Description(self) -> TCollection_HAsciiString: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect) -> None: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget) -> None: ...
    def Magnitude(self) -> StepBasic_MeasureWithUnit: ...
    def Name(self) -> TCollection_HAsciiString: ...
    def SetDescription(self, theDescription: TCollection_HAsciiString) -> None: ...
    def SetMagnitude(self, theMagnitude: StepBasic_MeasureWithUnit) -> None: ...
    def SetName(self, theName: TCollection_HAsciiString) -> None: ...
    @overload
    def SetTolerancedShapeAspect(self, theTolerancedShapeAspect: StepRepr_ShapeAspect) -> None: ...
    @overload
    def SetTolerancedShapeAspect(self, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget) -> None: ...
    def TolerancedShapeAspect(self) -> StepDimTol_GeometricToleranceTarget: ...

class StepDimTol_GeometricToleranceRelationship(Standard_Transient):
    def __init__(self) -> None: ...
    def Description(self) -> TCollection_HAsciiString: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theRelatingGeometricTolerance: StepDimTol_GeometricTolerance, theRelatedGeometricTolerance: StepDimTol_GeometricTolerance) -> None: ...
    def Name(self) -> TCollection_HAsciiString: ...
    def RelatedGeometricTolerance(self) -> StepDimTol_GeometricTolerance: ...
    def RelatingGeometricTolerance(self) -> StepDimTol_GeometricTolerance: ...
    def SetDescription(self, theDescription: TCollection_HAsciiString) -> None: ...
    def SetName(self, theName: TCollection_HAsciiString) -> None: ...
    def SetRelatedGeometricTolerance(self, theRelatedGeometricTolerance: StepDimTol_GeometricTolerance) -> None: ...
    def SetRelatingGeometricTolerance(self, theRelatingGeometricTolerance: StepDimTol_GeometricTolerance) -> None: ...

class StepDimTol_GeometricToleranceTarget(StepData_SelectType):
    def __init__(self) -> None: ...
    def CaseNum(self, ent: Standard_Transient) -> int: ...
    def DimensionalLocation(self) -> StepShape_DimensionalLocation: ...
    def DimensionalSize(self) -> StepShape_DimensionalSize: ...
    def ProductDefinitionShape(self) -> StepRepr_ProductDefinitionShape: ...
    def ShapeAspect(self) -> StepRepr_ShapeAspect: ...

class StepDimTol_RunoutZoneOrientation(Standard_Transient):
    def __init__(self) -> None: ...
    def Angle(self) -> StepBasic_PlaneAngleMeasureWithUnit: ...
    def Init(self, theAngle: StepBasic_PlaneAngleMeasureWithUnit) -> None: ...
    def SetAngle(self, theAngle: StepBasic_PlaneAngleMeasureWithUnit) -> None: ...

class StepDimTol_ShapeToleranceSelect(StepData_SelectType):
    def __init__(self) -> None: ...
    def CaseNum(self, ent: Standard_Transient) -> int: ...
    def GeometricTolerance(self) -> StepDimTol_GeometricTolerance: ...
    def PlusMinusTolerance(self) -> StepShape_PlusMinusTolerance: ...

class StepDimTol_SimpleDatumReferenceModifierMember(StepData_SelectInt):
    def __init__(self) -> None: ...
    def EnumText(self) -> str: ...
    def HasName(self) -> bool: ...
    def Kind(self) -> int: ...
    def Name(self) -> str: ...
    def SetEnumText(self, theValue: int, theText: str) -> None: ...
    def SetValue(self, theValue: StepDimTol_SimpleDatumReferenceModifier) -> None: ...
    def Value(self) -> StepDimTol_SimpleDatumReferenceModifier: ...

class StepDimTol_ToleranceZone(StepRepr_ShapeAspect):
    def __init__(self) -> None: ...
    def DefiningTolerance(self) -> StepDimTol_HArray1OfToleranceZoneTarget: ...
    def DefiningToleranceValue(self, theNum: int) -> StepDimTol_ToleranceZoneTarget: ...
    def Form(self) -> StepDimTol_ToleranceZoneForm: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theOfShape: StepRepr_ProductDefinitionShape, theProductDefinitional: StepData_Logical, theDefiningTolerance: StepDimTol_HArray1OfToleranceZoneTarget, theForm: StepDimTol_ToleranceZoneForm) -> None: ...
    def NbDefiningTolerances(self) -> int: ...
    def SetDefiningTolerance(self, theDefiningTolerance: StepDimTol_HArray1OfToleranceZoneTarget) -> None: ...
    def SetDefiningToleranceValue(self, theNum: int, theItem: StepDimTol_ToleranceZoneTarget) -> None: ...
    def SetForm(self, theForm: StepDimTol_ToleranceZoneForm) -> None: ...

class StepDimTol_ToleranceZoneDefinition(Standard_Transient):
    def __init__(self) -> None: ...
    def Boundaries(self) -> StepRepr_HArray1OfShapeAspect: ...
    def BoundariesValue(self, theNum: int) -> StepRepr_ShapeAspect: ...
    def Init(self, theZone: StepDimTol_ToleranceZone, theBoundaries: StepRepr_HArray1OfShapeAspect) -> None: ...
    def NbBoundaries(self) -> int: ...
    def SetBoundaries(self, theBoundaries: StepRepr_HArray1OfShapeAspect) -> None: ...
    def SetBoundariesValue(self, theNum: int, theItem: StepRepr_ShapeAspect) -> None: ...
    def SetZone(self, theZone: StepDimTol_ToleranceZone) -> None: ...
    def Zone(self) -> StepDimTol_ToleranceZone: ...

class StepDimTol_ToleranceZoneForm(Standard_Transient):
    def __init__(self) -> None: ...
    def Init(self, theName: TCollection_HAsciiString) -> None: ...
    def Name(self) -> TCollection_HAsciiString: ...
    def SetName(self, theName: TCollection_HAsciiString) -> None: ...

class StepDimTol_ToleranceZoneTarget(StepData_SelectType):
    def __init__(self) -> None: ...
    def CaseNum(self, ent: Standard_Transient) -> int: ...
    def DimensionalLocation(self) -> StepShape_DimensionalLocation: ...
    def DimensionalSize(self) -> StepShape_DimensionalSize: ...
    def GeneralDatumReference(self) -> StepDimTol_GeneralDatumReference: ...
    def GeometricTolerance(self) -> StepDimTol_GeometricTolerance: ...

class StepDimTol_CylindricityTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_DatumReferenceCompartment(StepDimTol_GeneralDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_DatumReferenceElement(StepDimTol_GeneralDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_FlatnessTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthDatRef(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def GetGeometricToleranceWithDatumReference(self) -> StepDimTol_GeometricToleranceWithDatumReference: ...
    def GetToleranceType(self) -> StepDimTol_GeometricToleranceType: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theGTWDR: StepDimTol_GeometricToleranceWithDatumReference, theType: StepDimTol_GeometricToleranceType) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetGeometricToleranceType(self, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetGeometricToleranceWithDatumReference(self, theGTWDR: StepDimTol_GeometricToleranceWithDatumReference) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def GetGeometricToleranceWithDatumReference(self) -> StepDimTol_GeometricToleranceWithDatumReference: ...
    def GetGeometricToleranceWithModifiers(self) -> StepDimTol_GeometricToleranceWithModifiers: ...
    def GetToleranceType(self) -> StepDimTol_GeometricToleranceType: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theGTWDR: StepDimTol_GeometricToleranceWithDatumReference, theGTWM: StepDimTol_GeometricToleranceWithModifiers, theType: StepDimTol_GeometricToleranceType) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference, aGTWM: StepDimTol_GeometricToleranceWithModifiers, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetGeometricToleranceType(self, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetGeometricToleranceWithDatumReference(self, theGTWDR: StepDimTol_GeometricToleranceWithDatumReference) -> None: ...
    def SetGeometricToleranceWithModifiers(self, theGTWM: StepDimTol_GeometricToleranceWithModifiers) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def GetGeometricToleranceWithDatumReference(self) -> StepDimTol_GeometricToleranceWithDatumReference: ...
    def GetModifiedGeometricTolerance(self) -> StepDimTol_ModifiedGeometricTolerance: ...
    def GetPositionTolerance(self) -> StepDimTol_PositionTolerance: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepRepr_ShapeAspect, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference, aMGT: StepDimTol_ModifiedGeometricTolerance) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference, aMGT: StepDimTol_ModifiedGeometricTolerance) -> None: ...
    def SetGeometricToleranceWithDatumReference(self, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference) -> None: ...
    def SetModifiedGeometricTolerance(self, aMGT: StepDimTol_ModifiedGeometricTolerance) -> None: ...
    def SetPositionTolerance(self, aPT: StepDimTol_PositionTolerance) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthMod(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def GetGeometricToleranceWithModifiers(self) -> StepDimTol_GeometricToleranceWithModifiers: ...
    def GetToleranceType(self) -> StepDimTol_GeometricToleranceType: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theGTWM: StepDimTol_GeometricToleranceWithModifiers, theType: StepDimTol_GeometricToleranceType) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWM: StepDimTol_GeometricToleranceWithModifiers, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetGeometricToleranceType(self, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetGeometricToleranceWithModifiers(self, theGTWM: StepDimTol_GeometricToleranceWithModifiers) -> None: ...

class StepDimTol_GeometricToleranceWithDatumReference(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def DatumSystem(self) -> StepDimTol_HArray1OfDatumReference: ...
    def DatumSystemAP242(self) -> StepDimTol_HArray1OfDatumSystemOrReference: ...
    @overload
    def Init(self, theGeometricTolerance_Name: TCollection_HAsciiString, theGeometricTolerance_Description: TCollection_HAsciiString, theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit, theGeometricTolerance_TolerancedShapeAspect: StepRepr_ShapeAspect, theDatumSystem: StepDimTol_HArray1OfDatumReference) -> None: ...
    @overload
    def Init(self, theGeometricTolerance_Name: TCollection_HAsciiString, theGeometricTolerance_Description: TCollection_HAsciiString, theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit, theGeometricTolerance_TolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theDatumSystem: StepDimTol_HArray1OfDatumSystemOrReference) -> None: ...
    @overload
    def SetDatumSystem(self, theDatumSystem: StepDimTol_HArray1OfDatumReference) -> None: ...
    @overload
    def SetDatumSystem(self, theDatumSystem: StepDimTol_HArray1OfDatumSystemOrReference) -> None: ...

class StepDimTol_GeometricToleranceWithDefinedUnit(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theUnitSize: StepBasic_LengthMeasureWithUnit) -> None: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theUnitSize: StepBasic_LengthMeasureWithUnit) -> None: ...
    def SetUnitSize(self, theUnitSize: StepBasic_LengthMeasureWithUnit) -> None: ...
    def UnitSize(self) -> StepBasic_LengthMeasureWithUnit: ...

class StepDimTol_GeometricToleranceWithModifiers(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theModifiers: StepDimTol_HArray1OfGeometricToleranceModifier) -> None: ...
    def ModifierValue(self, theNum: int) -> StepDimTol_GeometricToleranceModifier: ...
    def Modifiers(self) -> StepDimTol_HArray1OfGeometricToleranceModifier: ...
    def NbModifiers(self) -> int: ...
    def SetModifierValue(self, theNum: int, theItem: StepDimTol_GeometricToleranceModifier) -> None: ...
    def SetModifiers(self, theModifiers: StepDimTol_HArray1OfGeometricToleranceModifier) -> None: ...

class StepDimTol_LineProfileTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_ModifiedGeometricTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    @overload
    def Init(self, theGeometricTolerance_Name: TCollection_HAsciiString, theGeometricTolerance_Description: TCollection_HAsciiString, theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit, theGeometricTolerance_TolerancedShapeAspect: StepRepr_ShapeAspect, theModifier: StepDimTol_LimitCondition) -> None: ...
    @overload
    def Init(self, theGeometricTolerance_Name: TCollection_HAsciiString, theGeometricTolerance_Description: TCollection_HAsciiString, theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit, theGeometricTolerance_TolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theModifier: StepDimTol_LimitCondition) -> None: ...
    def Modifier(self) -> StepDimTol_LimitCondition: ...
    def SetModifier(self, theModifier: StepDimTol_LimitCondition) -> None: ...

class StepDimTol_NonUniformZoneDefinition(StepDimTol_ToleranceZoneDefinition):
    def __init__(self) -> None: ...

class StepDimTol_PlacedDatumTargetFeature(StepDimTol_DatumTarget):
    def __init__(self) -> None: ...

class StepDimTol_PositionTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_ProjectedZoneDefinition(StepDimTol_ToleranceZoneDefinition):
    def __init__(self) -> None: ...
    def Init(self, theZone: StepDimTol_ToleranceZone, theBoundaries: StepRepr_HArray1OfShapeAspect, theProjectionEnd: StepRepr_ShapeAspect, theProjectionLength: StepBasic_LengthMeasureWithUnit) -> None: ...
    def ProjectionEnd(self) -> StepRepr_ShapeAspect: ...
    def ProjectionLength(self) -> StepBasic_LengthMeasureWithUnit: ...
    def SetProjectionEnd(self, theProjectionEnd: StepRepr_ShapeAspect) -> None: ...
    def SetProjectionLength(self, theProjectionLength: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_RoundnessTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_RunoutZoneDefinition(StepDimTol_ToleranceZoneDefinition):
    def __init__(self) -> None: ...
    def Init(self, theZone: StepDimTol_ToleranceZone, theBoundaries: StepRepr_HArray1OfShapeAspect, theOrientation: StepDimTol_RunoutZoneOrientation) -> None: ...
    def Orientation(self) -> StepDimTol_RunoutZoneOrientation: ...
    def SetOrientation(self, theOrientation: StepDimTol_RunoutZoneOrientation) -> None: ...

class StepDimTol_StraightnessTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_SurfaceProfileTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...

class StepDimTol_UnequallyDisposedGeometricTolerance(StepDimTol_GeometricTolerance):
    def __init__(self) -> None: ...
    def Displacement(self) -> StepBasic_LengthMeasureWithUnit: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theDisplacement: StepBasic_LengthMeasureWithUnit) -> None: ...
    def SetDisplacement(self, theDisplacement: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_AngularityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_CircularRunoutTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_CoaxialityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_ConcentricityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod):
    def __init__(self) -> None: ...
    def GetMaxTolerance(self) -> StepBasic_LengthMeasureWithUnit: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theGTWDR: StepDimTol_GeometricToleranceWithDatumReference, theGTWM: StepDimTol_GeometricToleranceWithModifiers, theMaxTol: StepBasic_LengthMeasureWithUnit, theType: StepDimTol_GeometricToleranceType) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference, aGTWM: StepDimTol_GeometricToleranceWithModifiers, theMaxTol: StepBasic_LengthMeasureWithUnit, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetMaxTolerance(self, theMaxTol: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol(StepDimTol_GeoTolAndGeoTolWthDatRef):
    def __init__(self) -> None: ...
    def GetUnequallyDisposedGeometricTolerance(self) -> StepDimTol_UnequallyDisposedGeometricTolerance: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theGTWDR: StepDimTol_GeometricToleranceWithDatumReference, theType: StepDimTol_GeometricToleranceType, theUDGT: StepDimTol_UnequallyDisposedGeometricTolerance) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWDR: StepDimTol_GeometricToleranceWithDatumReference, theType: StepDimTol_GeometricToleranceType, theUDGT: StepDimTol_UnequallyDisposedGeometricTolerance) -> None: ...
    def SetUnequallyDisposedGeometricTolerance(self, theUDGT: StepDimTol_UnequallyDisposedGeometricTolerance) -> None: ...

class StepDimTol_GeoTolAndGeoTolWthMaxTol(StepDimTol_GeoTolAndGeoTolWthMod):
    def __init__(self) -> None: ...
    def GetMaxTolerance(self) -> StepBasic_LengthMeasureWithUnit: ...
    @overload
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepRepr_ShapeAspect, theGTWM: StepDimTol_GeometricToleranceWithModifiers, theMaxTol: StepBasic_LengthMeasureWithUnit, theType: StepDimTol_GeometricToleranceType) -> None: ...
    @overload
    def Init(self, aName: TCollection_HAsciiString, aDescription: TCollection_HAsciiString, aMagnitude: StepBasic_MeasureWithUnit, aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, aGTWM: StepDimTol_GeometricToleranceWithModifiers, theMaxTol: StepBasic_LengthMeasureWithUnit, theType: StepDimTol_GeometricToleranceType) -> None: ...
    def SetMaxTolerance(self, theMaxTol: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_GeometricToleranceWithDefinedAreaUnit(StepDimTol_GeometricToleranceWithDefinedUnit):
    def __init__(self) -> None: ...
    def AreaType(self) -> StepDimTol_AreaUnitType: ...
    def HasSecondUnitSize(self) -> bool: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theUnitSize: StepBasic_LengthMeasureWithUnit, theAreaType: StepDimTol_AreaUnitType, theHasSecondUnitSize: bool, theSecondUnitSize: StepBasic_LengthMeasureWithUnit) -> None: ...
    def SecondUnitSize(self) -> StepBasic_LengthMeasureWithUnit: ...
    def SetAreaType(self, theAreaType: StepDimTol_AreaUnitType) -> None: ...
    def SetSecondUnitSize(self, theSecondUnitSize: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_GeometricToleranceWithMaximumTolerance(StepDimTol_GeometricToleranceWithModifiers):
    def __init__(self) -> None: ...
    def Init(self, theName: TCollection_HAsciiString, theDescription: TCollection_HAsciiString, theMagnitude: StepBasic_MeasureWithUnit, theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget, theModifiers: StepDimTol_HArray1OfGeometricToleranceModifier, theUnitSize: StepBasic_LengthMeasureWithUnit) -> None: ...
    def MaximumUpperTolerance(self) -> StepBasic_LengthMeasureWithUnit: ...
    def SetMaximumUpperTolerance(self, theMaximumUpperTolerance: StepBasic_LengthMeasureWithUnit) -> None: ...

class StepDimTol_ParallelismTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_PerpendicularityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_SymmetryTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

class StepDimTol_TotalRunoutTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    def __init__(self) -> None: ...

# harray1 classes

class StepDimTol_HArray1OfDatumReference(StepDimTol_Array1OfDatumReference, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfDatumReference: ...


class StepDimTol_HArray1OfDatumReferenceCompartment(StepDimTol_Array1OfDatumReferenceCompartment, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfDatumReferenceCompartment: ...


class StepDimTol_HArray1OfDatumReferenceElement(StepDimTol_Array1OfDatumReferenceElement, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfDatumReferenceElement: ...


class StepDimTol_HArray1OfDatumReferenceModifier(StepDimTol_Array1OfDatumReferenceModifier, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfDatumReferenceModifier: ...


class StepDimTol_HArray1OfDatumSystemOrReference(StepDimTol_Array1OfDatumSystemOrReference, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfDatumSystemOrReference: ...


class StepDimTol_HArray1OfGeometricToleranceModifier(StepDimTol_Array1OfGeometricToleranceModifier, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfGeometricToleranceModifier: ...


class StepDimTol_HArray1OfToleranceZoneTarget(StepDimTol_Array1OfToleranceZoneTarget, Standard_Transient):
    def __init__(self, theLower: int, theUpper: int) -> None: ...
    def Array1(self) -> StepDimTol_Array1OfToleranceZoneTarget: ...

# harray2 classes
# hsequence classes

